1. Field of the Invention
The present invention is generally directed to configuring hardware in a computer system, and more particularly to an object-oriented system and method for configuring hardware in a computer system.
2. Related Art
The phrase "hardware configuration" has many meanings. In the user domain of a computer system, hardware configuration refers to configuring computer components which are generally visible to users (this is called user-oriented hardware configuration). This includes tasks such as setting the double-click speed of a mouse, formatting a disk drive, connecting a modem to a serial port, or changing an existing connection.
In the input/output (I/O) domain of a computer system, hardware configuration refers to low-level services which control or regulate access to integrated circuits (ICs) and other low-level hardware resources (this is called I/O hardware configuration).
The present invention is primarily directed to user-oriented hardware configuration, but can be applied to other types of hardware configuration, such as I/O hardware configuration.
Conventional computer systems distribute hardware configuration tasks among many different applications. For example, on the well-known Apple Macintosh computer, the Chooser application must be used to connect a StyleWriter printer to a modem port. To connect a modem to the modem port, a communication application (e.g. MacTerminal) must be used. To set up an Apple SCSI drive, the "Apple HD SC Setup" application must be used. To set the double-click speed of the mouse, the mouse control panel in the control panels folder must be used. As will be appreciated, it is difficult for users to keep track of where these configuration applications are maintained. Also, it is difficult for users to remember which configuration applications are required for the configuration of particular resources.
Users must inform the computer of the location of some devices (that is, tell the computer how and where the devices are connected to the computer). These devices are called manually connected devices or manually configured devices, and require special attention with regard to hardware configuration.
When a manually connected device is attached to a computer, the computer cannot sense its presence. As an aspect of hardware configuration, some entity in the computer must be told (by a user) what kind of device it is and where it is connected.
On the well-known Apple Macintosh System 7, the entity that is told depends on the type of the device in question. For example, the "Comm Toolbox" is used for modems and the Chooser is used for printers. Furthermore, the Comm Toolbox is port centric, not device centric (that is, the information saved by a document is about a port, not a device). If a user moves his modem to a different port, all of the terminal documents using that modem will not properly transmit when asked to do so, because they will expect the modem to be connected to the original port.
Thus, what is required is a system and method for hardware configuration that does not suffer from the problems discussed above.